﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Roton.ZZT
{
    interface ILocation
    {
        /// <summary>
        /// Add two locations together.
        /// </summary>
        ILocation Add(ILocation other);

        /// <summary>
        /// Add a vector to the location.
        /// </summary>
        ILocation Add(IVector vector);

        /// <summary>
        /// Subtract a location from this one.
        /// </summary>
        ILocation Subtract(ILocation other);

        /// <summary>
        /// Subtract a vector from this location.
        /// </summary>
        ILocation Subtract(IVector vector);

        /// <summary>
        /// Get or set X coordinate.
        /// </summary>
        int X { get; set; }

        /// <summary>
        /// Get or set Y coordinate.
        /// </summary>
        int Y { get; set; }
    }
}
